package com.gs.cd.service.resource.service;

import com.gs.cd.model.resource.SysResource;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author seven
 * @since 2020-12-22
 */
public interface SysResourceService extends IService<SysResource> {

    /**
     * 获取树结构的资源
     *
     * @param saleCode
     * @return
     */
    List<SysResource> listTreeBySaleCode(String saleCode);

    /**
     * 获取树结构
     *
     * @param productId
     * @return
     */
    List<SysResource> listTreeByProjectId(String productId);

    /**
     * 复制到其他项目
     *
     * @param sourceProductId
     * @param targetProductId
     * @return
     */
    boolean copy(String sourceProductId, String targetProductId);

    /**
     * 通过productId删除
     *
     * @param sourceProductId
     * @return
     */
    boolean removeByProjectId(String sourceProductId);

    /**
     * 通过productId获取
     *
     * @param sourceProductId
     * @return
     */
    List<SysResource> listByProjectId(String sourceProductId);

    /**
     * 获取资源所关联的销售单元
     * @param id
     * @return
     */
    Map relatedgroup(String id);

    /**
     * 拖拽排序
     * @param ids 有序的id集合
     * @return
     */
    boolean drag(List<String> ids);

    /**
     * 只获取最 根的资源
     * @param saleCode
     * @return
     */
    List<SysResource> listOnlyRoot(String saleCode);
}
